Sets our main struct and passes it to the parent class.
Creates a new GtkIMContextSimple.
Adds an additional table from the X11 compose file.
Adds an additional table to search to the input context. Each row of the table consists of @max_seq_len key symbols followed by two #guint16 interpreted as the high and low words of a #gunicode value. Tables are searched starting from the last added.
Get the main Gtk struct
the main Gtk struct as a void*
the main Gtk struct
the main Gtk struct
Get the main Gtk struct
the main Gtk struct as a void*
Asks the widget that the input context is attached to delete characters around the cursor position by emitting the ::delete_surrounding signal.
Allow an input method to forward key press and release events to another input method without necessarily having a GdkEvent available.
Allow an input method to internally handle key press and release events.
Notify the input method that the widget to which this input context corresponds has gained focus.
Notify the input method that the widget to which this input context corresponds has lost focus.
Retrieve the current preedit string for the input context, and a list of attributes to apply to the string.
Retrieves context around the insertion point.
Retrieves context around the insertion point.
Notify the input method that a change such as a change in cursor position has been made.
Set the client widget for the input context.
Notify the input method that a change in cursor position has been made.
Sets surrounding context around the insertion point and preedit string.
Sets surrounding context around the insertion point and preedit string. This function is expected to be called in response to the [signal@Gtk.IMContext::retrieve_surrounding] signal, and will likely have no effect if called at other times.
Sets whether the IM context should use the preedit string to display feedback.
The ::commit signal is emitted when a complete input sequence has been entered by the user.
The ::delete-surrounding signal is emitted when the input method needs to delete all or part of the context surrounding the cursor.
The ::preedit-changed signal is emitted whenever the preedit sequence currently being entered has changed.
The ::preedit-end signal is emitted when a preediting sequence has been completed or canceled.
The ::preedit-start signal is emitted when a new preediting sequence starts.
The ::retrieve-surrounding signal is emitted when the input method requires the context surrounding the cursor.
GtkIMContextSimple is an input method supporting table-based input methods.
Compose sequences
GtkIMContextSimple reads compose sequences from the first of the following files that is found: ~/.config/gtk-4.0/Compose, ~/.XCompose, /usr/share/X11/locale/$locale/Compose (for locales that have a nontrivial Compose file). The syntax of these files is described in the Compose(5) manual page.
If none of these files is found, GtkIMContextSimple uses a built-in table of compose sequences that is derived from the X11 Compose files.
Note that compose sequences typically start with the Compose_key, which is often not available as a dedicated key on keyboards. Keyboard layouts may map this keysym to other keys, such as the right Control key.
Unicode characters
GtkIMContextSimple also supports numeric entry of Unicode characters by typing <kbd>Ctrl</kbd>-<kbd>Shift</kbd>-<kbd>u</kbd>, followed by a hexadecimal Unicode codepoint.
For example,
Ctrl-Shift-u 1 2 3 Enter
yields U+0123 LATIN SMALL LETTER G WITH CEDILLA, i.e. ģ.
Dead keys
GtkIMContextSimple supports dead keys. For example, typing
dead_acute a
yields U+00E! LATIN SMALL LETTER_A WITH ACUTE, i.e. á. Note that this depends on the keyboard layout including dead keys.